我已經從逗號分隔的文本文件中讀取數據(原始格式爲alpha_char,空間爲1,2,3,4,5,6,7,空間爲alpha_characters,爲新行字符)並輸出[['1,2,3,4,5,6,7'],['7,5,3,9,8,2,4'], etc]
(即一個字符串的列表),並希望將它們轉換爲[[1,2,3,4,5,6,7],[7,5,3,9,8,2,4], etc]
(即int列表)。因此,我會欣賞如何從文本文件中讀取數據到int列表列表或如何將我擁有的字符串列表轉換爲int列表列表。我知道,我在這裏很愚蠢。將字符串列表的列表轉換爲列表的列表int
0
A
回答
0
使用列表理解:
>>> with open('file.txt') as f:
... rows = [line.strip().split(',') for line in f]
...
>>> rows
[['1', '2', '3', '4', '5', '6', '7'], ['7', '5', '3', '9', '8', '2', '4']]
>>> nums = [list(map(int, row)) for row in rows]
>>> nums
[[1, 2, 3, 4, 5, 6, 7], [7, 5, 3, 9, 8, 2, 4]]
您還可以使用csv
module:
>>> import csv
>>>
>>> with open('file.txt') as f:
... reader = csv.reader(f)
... rows = [row for row in reader]
...
>>> rows
[['1', '2', '3', '4', '5', '6', '7'], ['7', '5', '3', '9', '8', '2', '4']]
+0
謝謝。我試圖按照你的描述做很多事情,但是在錯誤的地方。我現在得到int base10的無效文字,所以我需要看看我已經做了什麼。優秀的答案 – user1478335
0
要篩選號碼和轉換您的輸出,你可以做到以下幾點:
new_list = [ [ int(x) for x in convert_list.split(",") if x.isdigit() ] for sublist in oldlist for convert_list in sublist ]
如果你想知道你是否有輸入這是不是一個數字,你可以省略.isdigit()
和使用嘗試以下情況除外:
try:
[ [ int(x) for x in convert_list.split(",") ] for sublist in oldlist for convert_list in sublist ]
except ValueError:
print("bad input")
相關問題
- 1. 將列表中的字符串轉換爲int列表
- 2. 將字符串列表轉換爲int列表
- 3. 在SQL中將字符串列表轉換爲Int列表
- 4. 將字符串列表轉換爲字符串列表
- 5. 轉換的字符串列表,列出字符串列表的
- 6. 轉換列表<int>爲分隔字符串列表
- 7. 斯卡拉 - 轉換列表[字符串]元組列表[(Int,Int)]
- 8. 字符串到int轉換的列表
- 9. 轉換列表的列表轉換爲字符串列表 - Python的
- 10. 將列表(的對象)轉換爲列表(的字符串)
- 11. 如何將字符串列表轉換爲每個子列表中每個字符串的子列表列表?
- 12. 將字符串列表拆分爲字符串列表列表
- 13. 將列表的Python列表轉換爲字符串
- 14. 將字符串的混合列表轉換爲整數列表
- 15. 如何將字符串列表轉換爲適當的列表?
- 16. 將字符串列表轉換爲java中的BigDecimal列表
- 17. 將字符串查找列表轉換爲Python中的列表
- 18. python:將文件轉換爲字符串列表的列表
- 19. 如何將字符串轉換爲整數列表的列表?
- 20. 字符串轉換列表分爲地圖[字符串,列表]
- 21. 將sqlite int錶轉換爲字符串,然後輸入列表
- 22. 將int字符串的列表/元組轉換爲int
- 23. 將字符串轉換爲字列表?
- 24. 將列表轉換爲字典列表
- 25. 將char列表轉換爲int列表時將ML列表打字
- 26. 將字符串元組列表轉換爲元組列表
- 27. 如何將字符串列表轉換爲指令列表
- 28. 將unicode列表轉換爲列表字符串
- 29. 將整數列表轉換爲字符串列表
- 30. 將字符串列表(csv)轉換爲浮點列表
,如果它真的是一個逗號分隔的文件,你可以跳過手工的東西,'進口csv'和使用那? – KobeJohn