我如何将每个细胞转移到不同的形式,然后将它们分离到2个细胞?CSV python
我有一个number.csv文件,每个单元格包含一个数字。例如,它看起来像这样我如何将每个细胞转移到不同的形式,然后将它们分离到2个细胞?CSV python,python,excel,csv,Python,Excel,Csv,我有一个number.csv文件,每个单元格包含一个数字。例如,它看起来像这样 0,1,2 -1,0,1 1,2,-1 然后我想根据我的规则将每个数字转换成一个特定的名称 # The rule is: # 0 for AA # 1 for AB # 2 for BB # -1 for 00 (that's double zero) 因此,我将得到类似于 AA,AB,BB 00,AA,AB AB,BB,00 然后我必须
0,1,2
-1,0,1
1,2,-1
然后我想根据我的规则将每个数字转换成一个特定的名称
# The rule is:
# 0 for AA
# 1 for AB
# 2 for BB
# -1 for 00 (that's double zero)
因此,我将得到类似于
AA,AB,BB
00,AA,AB
AB,BB,00
然后我必须将每个单元格分成两个单元格,并写入一个新的result.csv文件。最后它看起来像
A,A,A,B,B,B
0,0,A,A,A,B
A,B,B,B,0,0
我只知道如何将每个数字替换为一个特定的名称(例如,0到AA),然后我一直在研究如何将AA划分为a,每个单元格的a,并将每行分隔为下一行
有没有人知道如何通过csv模块解决这个问题,或者知道如何用更聪明的方法来解决这个问题
非常感谢
with open(r'G:\number.csv', 'r') as f: # read
content = f.read()
with open(r'G:\number-post.csv', 'wb') as fh: # write
fh.write(content.replace('-1','O,O').replace('0','A,A').replace('1','A,B').replace('2','B,B').replace('O','0'))
只需将上面的文件名替换为相应的文件名。使用VBA
Sub user3058889()
Dim d1 As String, s2 As String
s1 = "C:\TestFolder\input.csv"
s2 = "C:\TestFolder\output.csv"
Close #1
Close #2
Open s1 For Input As #1
Open s2 For Output As #2
Do While Not EOF(1)
Line Input #1, textline
textline = Replace(textline, "-1", "z")
textline = Replace(textline, "0", "A,A")
textline = Replace(textline, "1", "A,B")
textline = Replace(textline, "2", "B,B")
textline = Replace(textline, "z", "0,0")
Print #2, textline
Loop
Close #1
Close #2
End Sub
是的,我已经试过了,但我坚持了如何分割每个单元格,并将每行分隔到不同的下一行。谢谢,但当我将它们写入.csv文件,然后打开文件时,它不会自动分隔到下一个单元格。我已更改了答案。我再次更改了答案。只需使用
open
打开该文件。谢谢,我们将尝试一下!谢谢,但我不知道如何使用VBA,仍然感谢您的回答。:)