【发布时间】:2021-09-13 13:41:31
【问题描述】:
假设我有一个列为 "A__123","B__324","C__599","D__232","E__235" 的 csv 文件。
columns_to_read = ["A","C","E"]
现在我只想读取列表columns_to_read中的列
如何根据上述条件读取 csv。
我知道我可以使用usecols 来读取 csv 的特定列,但我如何才能读取类似的列?
【问题讨论】:
假设我有一个列为 "A__123","B__324","C__599","D__232","E__235" 的 csv 文件。
columns_to_read = ["A","C","E"]
现在我只想读取列表columns_to_read中的列
如何根据上述条件读取 csv。
我知道我可以使用usecols 来读取 csv 的特定列,但我如何才能读取类似的列?
【问题讨论】:
我不包括从 csv 读取的内容,但是当您通过读取 .csv 文件获取列表作为返回值时,我会这样做
test_data = ["A_123", "B_324", "C_599", "D_232", "E_235"]
columns_to_read = ["A", "C", "E"]
for i in range(len(test_data)):
for j in range(len(columns_to_read)):
if (columns_to_read[j] in test_data[i]):
print(test_data[i])
【讨论】:
你可以这样做。
`df = read_csv("file.csv")
col_name1 = []
col_name2 = []
for i in range(1,len(df)):
col_name1.append(df[i][0])#0 is the index of the column.
col_name2.append(df[i][1])
`
然后像这样将代码合并到一个数据帧中
df2 = pd.DataFrame(list(zip(col_name1,col_name2)),columns=['Column_name1','Column_name2])
请参阅https://www.geeksforgeeks.org/zip-in-python/ 了解zip() 功能。
有关list() 功能,请参阅https://www.programiz.com/python-programming/methods/built-in/list。
pd.DataFrame() 用于创建数据框。
【讨论】: